"""编码类目配置文件

定义系统中使用的所有编码类目、选项和关键词映射
"""

ENCODING_CATEGORIES = {
    "场景设定": {
        "options": ["校园场景", "生活场景", "文化场景", "社交场景", "其他"],
        "keywords": {
            "校园场景": ["校园", "学校", "大学", "教室", "宿舍", "图书馆", "教学楼", "操场"],
            "生活场景": ["生活", "家庭", "日常", "家居", "厨房", "起居", "生活记录"],
            "文化场景": ["文化", "传统", "习俗", "历史", "博物馆", "艺术", "展览", "演出"],
            "社交场景": ["聚会", "派对", "约会", "交流", "社交", "团建", "活动"],
            "其他": []
        }
    },
    "声音素材": {
        "options": ["博主原声", "背景音乐", "音效素材", "文本转语音", "其他"],
        "keywords": {
            "博主原声": ["原声", "真实声音", "博主说话", "解说", "讲解"],
            "背景音乐": ["背景音乐", "BGM", "配乐", "背景音乐", "伴奏"],
            "音效素材": ["音效", "特效音", "声音效果", "音效", "声音素材"],
            "文本转语音": ["语音合成", "TTS", "机器人声音", "电子音", "文本转语音"],
            "其他": []
        }
    },
    "主题类型": {
        "options": ["学业分享", "生活实用", "文化体验", "情感表达", "身份认同", "娱乐创意", "价值输出"],
        "keywords": {
            "学业分享": ["学习", "成绩", "考试", "复习", "学习方法", "校园生活"],
            "生活实用": ["实用", "生活技巧", "方法", "教程", "指南", "生活窍门"],
            "文化体验": ["文化", "体验", "传统", "艺术", "文化活动", "文化分享"],
            "情感表达": ["情感", "心情", "感受", "表达", "心情分享", "情感宣泄"],
            "身份认同": ["身份", "认同", "自我", "标签", "定位", "个人特质"],
            "娱乐创意": ["娱乐", "创意", "有趣", "搞笑", "趣味", "创意内容"],
            "价值输出": ["价值观", "理念", "观点", "看法", "输出", "思想"],
        }
    },
    "视频情感倾向": {
        "options": ["积极正向", "消极负向", "中性客观"],
        "keywords": {
            "积极正向": ["积极", "正向", "正能量", "乐观", "向上", "鼓励", "激励"],
            "消极负向": ["消极", "负向", "悲观", "抱怨", "不满", "负面情绪"],
            "中性客观": ["中性", "客观", "中立", "事实", "描述", "不带感情"],
        }
    },
    "话题标签": {
        "options": ["关联或创建话题", "未关联或创建话题"],
        "keywords": {
            "关联或创建话题": ["话题", "标签", "#", "hashtag", "话题讨论", "话题创建"],
            "未关联或创建话题": ["无话题", "无标签", "普通内容", "日常", "无特定主题"],
        }
    },
    "作者昵称类型": {
        "options": ["个人姓名", "自身状态", "其他"],
        "keywords": {
            "个人姓名": ["姓名", "真名", "本名", "名字", "称呼", "真实姓名"],
            "自身状态": ["状态", "特征", "描述", "属性", "特点", "个性"],
            "其他": [],
        }
    },
    "作者简介内容": {
        "options": ["经历介绍", "个性签名", "业务咨询", "其他"],
        "keywords": {
            "经历介绍": ["经历", "介绍", "背景", "履历", "个人介绍", "自我介绍"],
            "个性签名": ["签名", "个性", "标语", "口号", "座右铭", "个性展示"],
            "业务咨询": ["业务", "咨询", "服务", "合作", "联系方式", "业务范围"],
            "其他": [],
        }
    }
}

# 非编码字段列表，这些字段不会参与编码分析，但需要在结果中保留
NON_ENCODING_FIELDS = [
    "达人昵称", "达人简介", "粉丝数", "获赞", "达人UID", "抖音号",
    "视频描述", "大家都在搜", "发布时间", "视频时长", "点赞量",
    "收藏量", "评论量", "分享量", "达人链接", "视频文件",
    "音频文件", "视频链接"
]

# 编码结果的输出顺序
OUTPUT_ORDER = [
    "视频ID", "分析时间", "分析状态", "数据版本", "处理阶段",
    "场景设定", "声音素材", "主题类型", "视频情感倾向", "话题标签",
    "作者昵称类型", "作者简介内容", "达人昵称", "达人简介", "粉丝数",
    "获赞", "达人UID", "抖音号", "视频描述", "大家都在搜",
    "发布时间", "视频时长", "点赞量", "收藏量", "评论量",
    "分享量", "达人链接", "视频文件", "音频文件", "视频链接",
    "总体置信度", "待补充字段数", "分析完整性", "质量评级"
]

# 编码类目的详细定义说明
ENCODING_CATEGORIES_DETAIL = {
    "场景设定": "视频中呈现的主要环境和背景",
    "声音素材": "视频中使用的音频内容类型",
    "主题类型": "视频表达的核心内容主题",
    "视频情感倾向": "视频整体传递的情感基调",
    "话题标签": "视频是否关联或创建了特定话题",
    "作者昵称类型": "视频创作者昵称的属性特征",
    "作者简介内容": "视频创作者个人简介的内容类别"
}

# 为保持向后兼容性，添加别名
CATEGORIES = list(ENCODING_CATEGORIES.keys())
CATEGORY_OPTIONS = {cat: data['options'] for cat, data in ENCODING_CATEGORIES.items()}
KEYWORD_MAPPINGS = {cat: data['keywords'] for cat, data in ENCODING_CATEGORIES.items()}